home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / doc / www_talk.arc / 000118_connolly@pixel.convex.com _Mon Jun 8 05:52:19 1992.msg < prev    next >
Internet Message Format  |  1992-11-30  |  8KB

  1. Return-Path: <connolly@pixel.convex.com>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA10330; Mon, 8 Jun 92 05:52:19 MET DST
  4. Received: by dxmint.cern.ch (dxcern) (5.57/3.14)
  5.     id AA00534; Mon, 8 Jun 92 05:50:21 +0200
  6. Received: from pixel.convex.com by convex.convex.com (5.64/1.35)
  7.     id AA13067; Sun, 7 Jun 92 22:49:54 -0500
  8. Received: from localhost by pixel.convex.com (5.64/1.28)
  9.     id AA00415; Sun, 7 Jun 92 22:49:51 -0500
  10. Message-Id: <9206080349.AA00415@pixel.convex.com>
  11. Subject: MIME for global hypertext
  12. To: www-talk@nxoc01.cern.ch, wais-talk@think.com
  13. Organization: Engineering, CONVEX Computer Corp., Richardson, Tx., USA
  14. Date: Sun, 07 Jun 92 22:49:51 CDT
  15. From: Dan Connolly <connolly@pixel.convex.com>
  16.  
  17.  
  18. [This was posted to several newsgroups, but someone from wais-talk
  19. suggest I forward it there also.]
  20.  
  21.  
  22. The WAIS, gopher, and world-wide-web projects are all client/server
  23. information retrieval systems. All three deliver plain text information
  24. quite well, and they each have evolving mechanisms for delivering
  25. other forms of information.
  26.  
  27. The MIME RFC defines a system for processing multi-part, multimedia
  28. messages on the internet. I would like to see these systems, along
  29. with USENET news and internet mail, interoperate with MIME as the substrate.
  30.  
  31. The clients for these systems go something like this:
  32. 0    user invokes client (and chooses a starting point)
  33. 1    client displays user's request
  34. 2    user reads page, chooses a reference to more info
  35. 3    user informs client of choice
  36.          (e.g. "show me item #1," or "search for googoo")
  37. 4    go to step 1
  38.  
  39. These systems often consist of a hierarchy of menus with text files at
  40. the leaf nodes. The system allows the user to interactively navigate
  41. the menus and browse leaf nodes. But 1) the format of the menus is
  42. particular to the system (USENET newsgroups/articles, unix
  43. directories/files, WAIS source/database/document). And 2) once a user
  44. is at a leaf node, the system can no longer interactively follow
  45. references.
  46.  
  47. The novel aspect of hypertext is that the distinction between the
  48. menu pages and the text pages disappears. In the world-wide-web,
  49. text documents have machine-readable links inside them, and all
  50. menus are represented as hypertext documents.
  51.  
  52. The WWW format works well, but it would benefit from use of MIME's
  53. features.
  54.  
  55. For a common hypertext document format, I propose we define a
  56. subtype of the MIME multipart message: X-HYPERTEXT. The first
  57. part of a multipart/X-HYPERTEXT message is the content of
  58. the document, and the remaining parts are multimedia attachments
  59. and links to other documents.
  60.  
  61. The content part contains references (by Content-ID) to the
  62. attachments and links. The client software allows the user
  63. to interactively choose references to display/follow.
  64.  
  65. The remaining parts may be attached image/audio/video using
  66. MIME's various types and transfer encodings (text attachments
  67. would work too) or they may be references to information
  68. accessible elsewhere using MIME's message/external-body type.
  69. The parameters to the external-body content-type provide the
  70. same information as WWW's Universal Document Indentifier.
  71. (MIME only defines ANON-FTP, FTP, TFTP, LOCAL-FILE and AFS.
  72. The remaining access-types (WAIS, gopher, etc) would be
  73. experimental (X-WAIS, X-GOPHER) until standardized.)
  74.  
  75. The emerging standard for structured, platform-independent text
  76. is SGML. The WWW project defines an SGML document type with
  77. traditional elements (title, heading, paragraph, list) and
  78. new hypertext elements (anchor). Soon it will have multimedia
  79. elements (image, audio).
  80.  
  81. The current design places external document references (to files,
  82. WWW servers, WAIS documents, gophers, etc.) inside the SGML as
  83. attributes. There are lexical incompatibilities, and the design
  84. is under strain. I suggest that we implement references as
  85. as SGML entities that identify message/external-body parts
  86. by content-id.
  87.  
  88. Representing document content in SGML allows the same information
  89. to be accessed using different user interface paradigms (e.g. dumb
  90. terminals vs. curses style vs. x windows point-and-click).
  91.  
  92. Short of full SGML parsing, we could adopt the MIME text/richtext
  93. format, with the addition of a <REF ID="xxx">...</REF> tag.
  94. In fact, any representation that allows the user to interactively indicate
  95. one of the attached body parts by content-id will do. For example,
  96. plain text with one-line descriptions would do. The Andrew ez
  97. data stream would also work, but only Andrew sites could parse it.
  98.  
  99. This brings up the issue of format negociation. No one format is
  100. optimal for all information. Clients are likely to be able to process
  101. information in several formats, and servers are likely to be able
  102. to provide different representations.
  103.  
  104. The various formats can be enclosed in a MIME multipart/alternative
  105. message. And rather than including the data for all formats in
  106. the message, the data could be in message/external-body parts. The
  107. client chooses the type of data it likes and retrieves the corresponding
  108. external-body. This (modified) example from the MIME rfc may help explain:
  109.  
  110. MIME-Version: 1.0
  111. Content-Type: multipart/alternative; boundary=42
  112.  
  113. --42
  114. Content-Type: message/external-body;
  115.     name="BodyFormats.ps";
  116.     site="thumper.bellcore.com";
  117.     access-type=ANON-FTP;
  118.     directory="pub";
  119.     mode="image";
  120.  
  121. Content-type: application/postscript
  122.  
  123. --42
  124. Content-Type: message/external-body;
  125.     name="/u/nsb/writing/rfcs/RFC-XXXX.ez";
  126.     site="thumper.bellcore.com";
  127.     access-type=AFS;
  128.  
  129. Content-type: application/x-ez
  130.  
  131. --42
  132. Content-Type: message/external-body;
  133.     name="BodyFormats.txt";
  134.     site="thumper.bellcore.com";
  135.     access-type=ANON-FTP;
  136.     directory="pub";
  137.  
  138. Content-type: text/plain
  139.  
  140. --42--
  141.  
  142. The client can choose between postscript, ez, and plain text, and
  143. retrieve the corresponding message body.
  144.  
  145.  
  146. The question then becomes: how do these systems interoperate?
  147. By making information available as multipart/X-HYPERTEXT MIME
  148. messages.
  149.  
  150. The WWW client interfaced to the other systems by defining
  151. "addressing schemes" and implementing the various protocols
  152. and translating the data into HTML. Gopher has a similar
  153. typing scheme -- one character is reserved to indicate
  154. the access type and the data type. WAIS clients have yet
  155. another method of resolving types, though they only support
  156. one protocol. The NewsGrazer application has its own
  157. encapsulation mechanism. This is becoming a mess.
  158.  
  159. In the short term, global hypertext viewers will have to support
  160. the access-type and content-type of each system with which it
  161. interoperates (so we have X-WAIS, X-HTTP, X-GOPHER, X-NNTP, as well as
  162. X-WAIS-SRC, X-HTML, X-GOPHER-1 thru X-GOPHER-9).
  163.  
  164. Some of the access types will become standard, and some will die out.
  165. But all the data types should be encapsulated in MIME messages. Any
  166. data that has machine-readable pointers to other data should be made
  167. into a multipart/X-HYPERTEXT message. For example, a WAIS question
  168. should have attachments for each of the result documents (the content
  169. part can stay application/x-wais-question, or it could be converted to
  170. a text type, or both), at least in the case where those documents are
  171. available by some standard access method.  [I wrote a perl script that
  172. will change an HTML document into a MIME message with attachments.]
  173.  
  174. Leaf documents, i.e. documents with no external links, can stay in
  175. single part types. e.g. Plain text files become MIME messages by simply
  176. adding a blank line at the beginning (to separate the headers (none)
  177. from the body).
  178.  
  179. Under this model, a mail message can point to a news article
  180. which references a WAIS document which contains several drawings
  181. and pointers to several more available by FTP, and a user could
  182. just point-and-click between them. The only need for
  183. protocols like gopher and HTTP is to encapsulate data that's not
  184. already MIME compliant.
  185.  
  186. This is clearly a pipe dream, but it's the kind of thing we can work
  187. towards today.
  188.  
  189. Dan
  190.